package com.xueyi.workflow.domain.dto;

import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * 发起流程请求对象
 *
 * @author xueyi
 * @date 2024-07-03
 */
@Data
public class StartProcessRequest {

    /**
     * 流程ID（必传）
     */
    @NotNull(message = "流程ID不能为空")
    private String processId;

    /**
     * 业务Key（可选，如果不传则自动生成）
     */
    private String businessKey;

    /**
     * 表单数据（必传）
     */
    @NotNull(message = "表单数据不能为空")
    private Map<String, Object> formData;

    /**
     * 人员配置（可选，如果不传则使用流程配置中的人员配置）
     */
    private List<Map<String, Object>> assigneeConfig;

    /**
     * 其他自定义流程变量（可选）
     */
    private Map<String, Object> variables;
}
